//
//  NSObject+Hud.h
//  Meili
//
//  Created by Robin on 16/1/6.
//  Copyright © 2016年 Robin. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <MBProgressHUD/MBProgressHUD.h>

extern const CGFloat HUD_DELAY_TIME;
extern NSString *const MYErrorDomain;
extern NSString *const MYErrorMsgKey;
extern NSString *const MYEmptyDomain;

typedef NS_ENUM(NSInteger, MYErrorCode) {
    MYErrorCodeCancle = -999,
    MYErrorCodeNetworkSlow = -1001,
    MYErrorCodeDefault = -1000,
};

@interface NSObject (Hud)
/**
 *  在view中显示进度条,默认文字：正在加载中
 */
+(void)showProgressInView:(UIView *)view;
/**
 *  在view中显示进度条
 */
+(void)showProgressInView:(UIView *)view withMessage:(NSString *)msg;
/**
 *  获取一个hud，加在指定view
 */
+(MBProgressHUD *)hudInView:(UIView *)view withText:(NSString *)text;
/**
 *  移除指定view的hud
 */
+(void)hideHudInView:(UIView *)view;
/**
 *  进度条，默认文字：正在加载中
 */
+(void)showProgress;
/**
 *  进度条
 *
 *  @param msg 
 */
+(void)showProgressWithMessage:(NSString *)msg;
/**
 *  显示网络错误信息
 *
 *  @param error 根据状态码
 */
+(void)showError:(NSError *)error;
/**
 *  显示错误信息
 *
 *  @param failedMsg 错误信息
 */
+(void)showFailedMsg:(NSString *)failedMsg;
/**
 *  显示成功信息
 *
 *  @param successMsg 成功信息
 */
+(void)showSuccessMsg:(NSString *)successMsg;
/**
 *  显示警告信息
 *
 *  @param warnMsg 警告信息
 */
+(void)showWarnMsg:(NSString *)warnMsg;
/**
 *  隐藏进度条
 */
+(void)hideProgress;

@end
